-
Notifications
You must be signed in to change notification settings - Fork 906
[docs,qemu] Add QEMU OT documentation #28553
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks a lot, very helpful
0188fcb to
4d06974
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for the documentation. I just have some phrasing suggestions and nits, to make things a bit clearer for those who might not be the most familiar with system emulation. LGTM otherwise.
To allow for more general OpenTitan QEMU documentation, move the current setup / build system documentation to its own separate `setup.md` page. Make a new general QEMU `README.md` containing documentation not specific to setup / using a local build override. Signed-off-by: Alex Jones <[email protected]>
Add the new `bootstrap` parameter to the existing documentation, and also add a link to better explain the `traces` parameter. Signed-off-by: Alex Jones <[email protected]>
Now that we're adding more centralized OpenTitan QEMU documentation, document the newly support command-line argument format here. Signed-off-by: Alex Jones <[email protected]>
Add a short section on the QEMU tessting documentation that describes how the QEMU UART console output and log output are muxed into stdout without line buffering, to avoid confusion about interleaving of characters from both inputs. Signed-off-by: Alex Jones <[email protected]>
Add some introductory documentation to explain QEMU, it's integration into OpenTitan itself, and caveats that users should be aware of. The focus of these docs are primarily on introducing the basic concepts of QEMU, explaining the integration with OpenTitan, and noting any caveats that are useful to be aware of when testing or developing software stacks. Where possible, detailed explanations of QEMU's internals or explanations of how OpenTitan emulation works is delegated to the existing QEMU / QEMU fork documentation, to avoid replication and docs getting out of date. The one exception is the list of unemulated features - a short non-comprehensive list is reproduced as it is probably useful that anyone who wants to use QEMU is aware of some of the major caveats, even if the list is not complete / comprehensive. Signed-off-by: Alex Jones <[email protected]>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM, thanks for the changes!
Move some of the existing QEMU documentation, and add much more. This aims to be some short introductory documentation (deferring to upstream QEMU docs where necessary), explanations of many key caveats found during development & integration to be aware of, and more comprehensive documentation on the different Bazel parameters and arguments that are available.
See the commit messages for more details.